Clang Format
A C++ code formatter based on Clang Format, for beautiful code with minimal effort in Sublime Text 3
Details
Installs
- Total 56K
- Win 21K
- Mac 13K
- Linux 21K
Dec 12 | Dec 11 | Dec 10 | Dec 9 | Dec 8 | Dec 7 | Dec 6 | Dec 5 | Dec 4 | Dec 3 | Dec 2 | Dec 1 | Nov 30 | Nov 29 | Nov 28 | Nov 27 | Nov 26 | Nov 25 | Nov 24 | Nov 23 | Nov 22 | Nov 21 | Nov 20 | Nov 19 | Nov 18 | Nov 17 | Nov 16 | Nov 15 | Nov 14 | Nov 13 | Nov 12 | Nov 11 | Nov 10 | Nov 9 | Nov 8 | Nov 7 | Nov 6 | Nov 5 | Nov 4 | Nov 3 | Nov 2 | Nov 1 | Oct 31 | Oct 30 | Oct 29 | Oct 28 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 0 | 3 | 5 | 3 | 2 | 5 | 3 | 4 | 2 | 6 | 7 | 2 | 5 | 5 | 3 | 0 | 0 | 0 | 0 | 4 | 5 | 3 | 0 | 1 | 1 | 0 | 8 | 4 | 0 | 0 | 6 | 2 | 5 | 5 | 2 | 2 | 3 | 6 | 4 | 0 | 2 | 8 | 3 | 4 | 3 | 5 |
Mac | 1 | 0 | 0 | 1 | 1 | 2 | 0 | 4 | 3 | 1 | 1 | 2 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 2 | 3 | 1 | 0 | 1 | 1 | 2 | 2 | 0 | 0 | 0 | 2 | 1 | 1 | 3 | 0 | 0 | 2 | 2 | 1 | 0 | 2 | 3 | 1 | 3 | 2 | 1 |
Linux | 0 | 3 | 1 | 4 | 2 | 2 | 0 | 3 | 5 | 3 | 3 | 4 | 0 | 3 | 2 | 0 | 0 | 0 | 2 | 4 | 2 | 2 | 2 | 0 | 3 | 1 | 0 | 2 | 0 | 0 | 5 | 3 | 3 | 0 | 4 | 3 | 5 | 3 | 0 | 4 | 4 | 3 | 1 | 3 | 5 | 4 |
Readme
- Source
- raw.githubusercontent.com
Clang Format
What it does
Clang-format is a tool for formatting C++, built on LLVM. This is a package that allows you to run it easily from within Sublime Text.
About
In this package, we provide an alternative wrapper around clang-format for use within Sublime Text 3. Whilst LLVM does provide a very simple plugin to work with Sublime Text here, it doesn't really exploit any of the Sublime Text package functionality. We add new features such as customising the style from a settings file, selecting styles using the Command Palette, and easier installation.
Installing
- Install
clang-format
in one of the following ways:- Install using your package manager, e.g.
sudo apt-get install clang-format
orsudo apt-get install clang-format-5.0
. - Download the entire LLVM toolchain
and extract the
clang-format
binary. Just extract the.tar.xz
file and copybin/clang-format
into your PATH (e.g./usr/local/bin
).
- Install using your package manager, e.g.
- Install this package through Package Control in the usual way.
- Set the path to the clang-format binaries. You can do this from within Sublime
Text by choosing
Clang Format - Set Path
from the command palette. Hint: the path should look something like this[path/to/clang]/clang/bin/clang-format
. If clang-format is in your system path, you shouldn't need to do anything.
Use
- Default shortcut is
super+option+a
on OSX andoption+cmd+a
otherwise. This will apply clang-format to the selection. - From the command palette, you can select the formatting type by using
Clang Format: Select Style
. You will find the small number of defaults, and also a new 'Custom' entry. Selecting this entry allows you to customise the style through a settings file. You can access it from the main menu, underPackage Settings
. In this file you can add custom rules, such asAllmen
style braces, and different indents. For examples see http://clang.llvm.org/docs/ClangFormatStyleOptions.html. - Settings for the 'Custom' format and others are available through the Sublime Text preferences.
- It is possible to run the formatter on every save to a file, change settings
to
"format_on_save": true
. - To run the formatter in one stroke, press
ctrl+e
for windows and linux orsuper+e
for OSX. You can always change the keybinding in the keymap to your liking. - To change settings on a per-package basis, add them under
ClangFormat
key, example project.sublime-settings:
{
"folders": [],
"settings": {
"ClangFormat": {
"format_on_save": true
}
}
}
If You Liked This
… And want to contribute, PR's gladly accepted!
Maybe you'll like my other plugin, iOpener. It lets you open files by path, with completion, history, and other goodies.
Otherwise, why not pop on over and star this repo on GitHub?
Credits
Thanks to the LLVM project for doing the hard work, including writing clang format, and also the original Sublime Text plugin on which this package is based.
Also thanks to y0ssar1an, Bendtherules and other contributors for their improvements!
Finally
Why not go and watch the video that got me interested in clang-format in the first place?